> restart;
LA PROGRAMMATION (I)
I) Les structures de contrôle
A/ Structure de contrôle if .. then 
> a:=3:b:=2:
> if a<>0 then print(`La solution est : x`=-b/a) 
elif b=0 then print (`Tout réel est solution`)
else print(`Pas de solution`)
end if;

B/ Structure de contrôle while .. do
> somme:=0:k:=-1:
> while k<100 do k:=k+1:somme:=somme+k end do:`somme`=somme;

C/ Structure de contrôle for .. to
>  Somme:=0:for k from 1 to 100 do Somme:=Somme+k end do:`somme`=Somme;

> Sommebis:=0: for k to 100 by 2 do Sommebis:=Sommebis+k end do:`sommebis`=Sommebis;

D/ Structure de contrôle : for variable in expression do .. end do
> for k in [1,0,832,37,673] do if isprime(k) then print (k, `est premier`) end if end do;

II) Les procédures
A/ Syntaxe
> maxi:=proc(a,b) if a<b then b else a end if end proc: maxi(0,5);maxi(-1,2);maxi(-1,-5);

> racinecarrée:=proc(x) if x<0 then error "il faut x positif!", x else simplify (x^(1/2)) end if end proc:
> racinecarrée(-1); racinecarrée(2);

B/ Rien
III) Exercices
Exercice 1
Ecrire une procédure nommée test, de paramètres formels a, b, c, d qui dit oui si (a et b sont de même signe et si c et d sont de même signe) ou si (a et b sont de signe opposé et c et d sont de signe opposé).
> test:=proc(a,b,c,d) 
if ((a*b>0 and c*d>0) or (a*b<0 and c*d<0)) 
then print(`oui`) 
else print(`non`) end if: end proc:
> test(2,-3,5,6);test(1,2,4,5);

Exercice 2
Ecrire une procédure, nommée equidistant, de paramètres formels a, b, c, qui dit oui si les points d'affixes, a, b, c sont équidistants.
>